using UnityEngine;
using System;
[Serializable]
public class StageModel
{
    public string icon;                       // 关卡预览图标资源名
    public string displayName;                // 关卡显示名称
    public string timeline;                   // 时间线/关卡编号显示
    public int stageType;                     // 关卡类型(0=普通,1=Boss等)
    public bool spawnProp;                    // 是否生成道具
    public bool removePropFromBossfight;      // Boss战时是否移除道具
    public string spotlightColor;             // 聚光灯颜色(十六进制)
    public string spotlightShadowColor;       // 聚光灯阴影颜色(十六进制)
    public int enemyDamage;                   // 敌人伤害值
    public int enemyHP;                       // 敌人生命值
    public bool useCustomMusic;               // 是否使用自定义音乐
    public string musicName;                  // 音乐资源名称

     // 将HEX颜色转为Unity Color
    public Color GetSpotlightColor() => 
        ColorUtility.TryParseHtmlString(spotlightColor, out var color) ? color : Color.white;

    public Color GetSpotlightShadowColor() => 
        ColorUtility.TryParseHtmlString(spotlightShadowColor, out var color) ? color : Color.black;
}

// 包装类用于反序列化数组
[Serializable]
public class StageDataList
{
    public StageModel[] stages;
}